Rational Apex C/C++
Integrated development environment for complex C and C++
applications
Prerelease information
- Facilitates controlled iterative development to reduce risk and
time-to-market
- Enforces your software architecture to improve quality
- Simplifies parallel development to bring projects under control
- Offers a consistent development environment across platforms
- Provides an unmatched solution for object-oriented round-trip
engineering for C++ when bundled with Rational Rose/C++
- Scales well from small projects to those with millions of lines
of code
- Slashes edit-compile-debug turnaround time
- Includes a production-quality C/C++ compiler for delivering high-performance workstation applications
- Is integrated with Rational's extensive family of Spire C/C++
embedded-systems cross-compilers
- Works with most other C and C++ compilers
- Is easy to learn and use
- Is based on industry open-systems standards
Rational Apex(R) C/C++ is an integrated environment for designing,
developing, and maintaining complex C and C++ applications. Rational
Apex C/C++ is available on each of the leading UNIX-based open-systems platforms, offering uniform C/C++ language treatment and
product functionality across platforms. Rational Apex C/C++ is a
fundamental component of Rational's modern, software-engineering
solution, comprising software processes, integrated software-development tools, and professional services. The complete Rational
solution gives you control of your software-development efforts and
sharpens your competitive edge.
Offers the productivity and power of tight integration
Rational Apex C/C++ is an integrated environment that makes the
design, development, and maintenance of complex C and C++
applications more manageable. Rational Apex C/C++:
- Lets you express and enforce your software architecture
- Provides powerful configuration management, version control,
and system build/release capabilities
- Includes a production-quality C and C++ compiler and debugger,
language-sensitive editor, and program browser
- Allows you to enforce C/C++ coding rules automatically
Rational Apex C/C++ tightly integrates these capabilities with one
another to form a powerful solution for application development.
Stand-alone compilers, editors, and source-code control systems do
not contain deep semantic information about C/C++ language
constructs. Because stand-alone tools do not share data structures,
manual steps are needed to move data from one tool to another.
These limitations introduce errors into the development process and
reduce the effectiveness of stand-alone tools.
In comparison, Rational Apex C/C++ is completely integrated, based
on a persistent intermediate representation that captures detailed
semantic information about your software. Rational Apex uses this
information and makes it available to other Rational tools, as well
as to third-party and customer-generated tools that extract it using
Rational Apex's open interfaces. Tools using the information
collected by Rational Apex have the same in-depth semantic
knowledge about your program that the Rational Apex compiler had
when it compiled your source code.
Provides support throughout the software lifecycle
Rational Apex C/C++ is the centerpiece of an extensive family of
Rational tools that provide support for modern software practices
throughout the entire software lifecycle. These practices include:
- Controlled iterative development to reduce risk and improve
time-to-market
- Object-oriented technology to simplify communication about
real-world constructs
- Architecture-based design to foster large-scale software reuse
and software that is adaptable in response to changing business
conditions
From initial design through coding, testing, and debugging to
maintenance, Rational Apex C/C++ reduces the risk associated with
developing complex software systems and helps you improve the
quality of your software. Rational tools available for use with
Rational Apex C/C++ include Rational Rose(R)/C++ (graphical object-oriented programming), SoDA(R) (software document automation),
and TestMate(TM) (software testing automation).
Enforces your software architecture
Most C/C++ projects, even fairly small ones, consist of many
separately compiled units; large projects can include thousands of
these units. Good development teams try to keep these units
organized in an overall system architecture. A sound, flexible
architecture has proven to be the key determinant of success in
building and enhancing complex software systems and in achieving
enterprisewide software reuse.
It is not easy, however, to express the high-level software
architecture of your system using C or C++ alone. In the absence of
automation to support your software architecture, violations take
place with increasing frequency as a project progresses. This
phenomenon is known as architecture degradation. Architecture
violations--whether inadvertent or intentional--lead to errors,
needless recompilations, unmaintainable code, project delays, and
higher risk.
Rational Apex C/C++ provides architectural control through Rational Subsystems(TM), a way of formalizing and enforcing relationships
between software components that cannot be expressed in C or C++
alone. Like well-designed object-oriented classes, Rational
Subsystems have specifications and implementations. Each
subsystem's formal import and export lists determine how it can be
used. Rational Apex detects changes that violate the architecture
and reports them to the development team to prevent architecture
degradation.
Subsystems make your system architecture visible to all developers
and maintain its integrity through the software's lifetime.
Architectural control simplifies team development and encourages
Rational Apex is the only development environment
to offer architectural control, made possible because of the tight
integration with the underlying C/C++ compiler that is part of
Rational Apex C/C++.
With its architectural control, Rational Apex prevents
unauthorized direct access to lower layers.
Simplifies parallel development through integrated
configuration management
Most software is built by teams operating in parallel while sharing a
common architecture, design, and source-code base. To be effective,
software-development teams require reliable and nonintrusive
configuration management, version control, and build and release
automation, in addition to architectural control. The more complex
the application, the more important effective support for parallel
development and software process becomes.
Rational Apex is unique in including a configuration-management and
version-control (CMVC) system that lets you manage parallel
development simply and without high overhead. Multiple developers
or teams can work from the same baselined code and merge their
work as needed to fit into your engineering process. Rational Apex
CMVC supports effective parallel development for local or
geographically distributed teams.
Complete change history and project reporting is available. Rational
Apex lets you define your process workflow models using views and
view transitions. Views give your developers working in parallel full
visibility to changes taking place in other views. Changes can be
accepted into a given view in a controlled way so that parallel
development activities do not interfere with one another. Views can
be used in many development processes. For example, you can
implement development views that become integration views that
become release views as groups of software changes reach different
stages of maturity. Process triggers help you enforce important
procedures, such as integrating defect management into the change
cycle, sending automatic notification by e-mail, and controlling
change migration through electronic sign-off.
Rational Apex provides subsystems and views to support your software-engineering process.
Provides an unmatched object-oriented toolset with Rational
Rose/C++
Rational Apex C/C++ is available bundled with Rational Rose/C++,
Rational's award-winning graphical object-oriented analysis and
design tool. When you use Rational Apex in conjunction with Rational
Rose/C++, you get the benefits of full round-trip engineering.
Round-trip engineering is a unique advantage of the Rational Rose
technology. Rational Rose supports this process with customizable
code generation, reverse engineering, model differencing, and
design-update features that allow you to extend the implementation
of your design, make changes to that implementation, assess the
changes architecturally, and have them automatically reflected in
your design. When Rational Rose/C++ is bundled with Rational Apex
C/C++, you can generate your Rational Apex subsystems and your
skeletal C++ source code from your graphical Rational Rose models.
You can also reverse engineer from source code--either your
modified code, legacy code, or externally developed source code--back to a graphical Rational Rose model of your system as it really
is. This reverse-engineered model can then be integrated into an
existing model, or it can become the basis for regenerating the next
version of the application.
Rational Apex C/C++ bundled with Rational Rose/C++ gives you the
most complete object-oriented development environment available
for complex C++ projects.
Rational Apex is integrated with Rational Rose,
winner of Computerworld's award for best new
object technology development product of 1995.
Includes a production-quality C/C++ compiler and GUI
debugger
The Rational Apex C/C++ compiler is an optimizing compiler that
supports the forthcoming ANSI C++ standard, including templates
and exceptions, ANSI C, and K&R C. The Rational Apex compiler
efficiently generates high-quality executable object code straight
from your C or C++ source code. It is intended for the delivery of
reliable, high-performance applications on the platforms on which
Rational Apex C/C++ is available. The Rational Apex compiler
technology has been used in many of the world's most demanding
large-scale software projects since 1985 and has an unmatched
record for reliability and scalability.
Rational Apex C/C++ includes a graphical user interface (GUI)
debugger, complete with "point and click" support for setting
breakpoints and watchpoints, as well as multiple windows for
monitoring stack and data values. The debugger allows C/C++-level
access and low-level access to assembly code and even to machine
registers and memory locations, where appropriate.
Rational Apex C/C++ also includes a tracing tool that gives you
detailed reports about execution-time events and enables
performance profiling that identifies "hot spots" in your application
that could benefit from performance tuning.
Slashes edit-compile-debug turnaround time
Rational Apex C/C++ exploits its persistent intermediate
representation to give you fast-path recompilation, which gives you
the full safety of makefiles while drastically reducing the amount
of recompilation. With fast-path recompilation, you can modify
comments, add #defines, and modify macros, and only the files
affected by the changes will be recompiled. This capability
dramatically reduces compilation cycles and improves turnaround
time.
Reduces C/C++ coding errors
Rational Apex C/C++ also uses its persistent intermediate
representation to provide automatic C/C++ code-rule checking. You
can customize code-rule checking to detect and report violations of
your C and C++ coding standards. For example, you can require each
class to have a constructor, you can forbid or allow multiple
inheritance, and you can require virtual destructors for all classes
used as base classes. Code-rule checking results in fewer errors and
more reliable code. It allows you to focus code reviews and
walkthroughs on higher-level issues and frees you from using
valuable staff time to check for coding errors.
Simplifies cross-platform development
C/C++ products from workstation vendors are proprietary
implementations that tend to lock you into a given workstation or
operating system. Platform-to-platform differences between C/C++
language dialects, compilers, debuggers, and other tools complicate
multiplatform or multitarget development. These differences also
reduce your ability to move to another platform as hardware and
operating system price/performance ratios change. Rational Apex
C/C++ offers the same language dialect, the same tools, and the
same "look and feel" regardless of platform. Your development team
can easily work on multiple platforms or change platforms, while
keeping a standard toolset and a standard software-development
process and saving significantly on training costs. All of Rational's
complementary tools--Rational Rose/C++, SoDA, and TestMate--are
also identical on all platforms, so your entire lifecycle solution can
be standardized to simplify further multiplatform development.
Provides a seamless multitarget environment for embedded-systems development
In addition to supporting the development of workstation-based
applications, Rational Apex C/C++ is ideal for the development of
complex embedded systems in C or C++. Rational Apex C/C++ is
integrated with Rational's Spire(TM) C/C++ family of C and C++
cross-compilers, which are available for most popular host
platforms. Combining Rational Apex C/C++ with Spire C/C++ gives
you integrated architectural enforcement, CMVC, and editing and
browsing for embedded-systems development, plus the ability to
test your application extensively on the host platform. A single
Rational Apex C/C++ license allows access to several separately
licensed Spire C/C++ cross-compilers for different targets.
The Spire family of cross-compilers shares the same persistent intermediate representation generated by Rational Apex.
Brings you field-proven reliability
Rational Apex C/C++ is the latest product in Rational's family of
integrated development environments, the first member of which
was shipped in 1985. Rational Apex's concept of tight tool
integration based on a persistent intermediate representation has
been proven on some of the most complex and demanding software
projects in the world. Rational Apex scales well from small projects
with one to five developers to those with millions of lines of code
and hundreds of developers.
Rational designed Rational Apex C/C++ for ease of use and quick user
start-up. Rational Apex C/C++ is an OSF/Motif application and
conforms to the Motif style guide. FrameViewer, bundled with
Rational Apex C/C++, provides online help. All C and C++ objects are
stored as UNIX files or directories, so your UNIX knowledge and UNIX
tools apply to Rational Apex C/C++ and its information.
Recommended configuration
Rational Apex C/C++ is available on workstations in the Sun
SPARC/SunOS, Sun SPARC/ Solaris, HP9000 Series 700/800, IBM
RS/6000, and Digital Alpha AXP families, with 32 Mb of RAM. Please
check with your Rational representative for the latest information
on supported platforms.
D-137; last updated 10/2/95